import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import net.miginfocom.swing.MigLayout;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;

//esta clase es para probar
public class LoginInternacional extends JFrame {
	private JTextField textField;
	private JTextField textField_1;
	private JLabel usuario;
	private JLabel clave;
	private JButton iniciarSesion;
	private JButton cancelar;
	private File archivo;
	private JComboBox listaIdiomas;
	
	aqui hay un disparate
	
	public JLabel getUsuario() {
		return usuario;
	}

	public void setUsuario(JLabel usuario) {
		this.usuario = usuario;
	}

	public JLabel getClave() {
		return clave;
	}

	public void setClave(JLabel clave) {
		this.clave = clave;
	}

	public JButton getIniciarSesion() {
		return iniciarSesion;
	}

	public void setIniciarSesion(JButton iniciarSesion) {
		this.iniciarSesion = iniciarSesion;
	}

	public JButton getCancelar() {
		return cancelar;
	}

	public void setCancelar(JButton cancelar) {
		this.cancelar = cancelar;
	}

	public LoginInternacional(String idioma) {
		super("Iniciar Sesion");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(208, 165);
		
		usuario = new JLabel();		
		textField = new JTextField();
		textField.setColumns(10);
		
		clave = new JLabel();
		textField_1 = new JTextField();
		textField_1.setColumns(10);
		iniciarSesion = new JButton();		
		cancelar = new JButton();
		
		String[] idiomas = new File("idiomas").list();
		for (int i = 0; i < idiomas.length; i++)
		{
			idiomas[i] = idiomas[i].substring(0, idiomas[i].length()-4);
		}
		
		actualizarIdioma(idioma);
		
		listaIdiomas = new JComboBox(idiomas);
		listaIdiomas.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				String idioma = (String) listaIdiomas.getSelectedItem();
				actualizarIdioma(idioma);
				pack();
			}
		});
		getContentPane().setLayout(new MigLayout("", "[87px][4px][87px]", "[20px][20px][23px][20px]"));
		getContentPane().add(clave, "cell 0 1,alignx right,aligny center");
		getContentPane().add(usuario, "cell 0 0,alignx right,aligny center");
		getContentPane().add(textField_1, "cell 2 1,growx,aligny top");
		getContentPane().add(textField, "cell 2 0,growx,aligny top");
		getContentPane().add(iniciarSesion, "cell 0 2,growx,aligny top");
		getContentPane().add(cancelar, "cell 2 2,growx,aligny top");
		getContentPane().add(listaIdiomas, "cell 0 3 3 1,growx,aligny top");
	}
	
	public void actualizarIdioma(String idioma)
	{
		String textoUsuario  = "Usuario";;
		String textoContrasenia = "Clave";
		String textoIniciarSesion = "Iniciar Sesion";
		String textoCancelar = "Cancelar";
		
		archivo = new File("idiomas/" + idioma + ".txt");
		try {
			Scanner entrada = new Scanner(archivo);
			setTitle( entrada.nextLine() );
			textoUsuario = entrada.nextLine();
			textoContrasenia = entrada.nextLine();
			textoIniciarSesion = entrada.nextLine();
			textoCancelar = entrada.nextLine();
			entrada.close();
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		
		usuario.setText(textoUsuario + ": ");
		clave.setText(textoContrasenia + ": ");
		iniciarSesion.setText(textoIniciarSesion);
		cancelar.setText(textoCancelar);
	}
	
	
	public static void main(String[] args) {
		LoginInternacional login = new LoginInternacional("english");	
		login.pack();
		login.setResizable(false);
		login.setVisible(true);
		
		try {
			UIManager.setLookAndFeel(UIManager.getInstalledLookAndFeels()[3].getClassName());
		}catch (Exception e){
			e.printStackTrace();
		} 
		SwingUtilities.updateComponentTreeUI(login);
	}
}
